package org.dromara.comm_lhz.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.comm_lhz.entity.AsActivityEntity;
import org.dromara.comm_lhz.entity.dto.AsActivityDto;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * 活动信息服务接口
 * 继承自MyBatis Plus的IService，用于处理与活动相关的数据操作
 */
public interface AsActivityHService extends IService<AsActivityEntity> {

    /**
     * 查询活动信息
     * 根据关键字、状态和时间段筛选活动
     *
     * @param keyword   搜索关键字，用于模糊匹配活动名称等字段
     * @param state     活动状态，用于筛选处于特定状态的活动
     * @param timePeriod 时间段，用于筛选在指定时间段内的活动
     * @return 活动信息列表，包含符合条件的所有活动详细信息
     */
    Page<AsActivityDto> selActivityInfo(String keyword, Integer state, String timePeriod, Pageable pageable);

    /**
     * 添加活动信息
     * 新增一条活动记录到数据库
     *
     * @param asActivityDto 活动信息对象，包含新增活动的所有必要信息
     */
    void addActivityInfo(AsActivityDto asActivityDto);

    /**
     * 修改活动信息
     * @param asActivityDto
     */
    void updateActivityInfo(AsActivityDto asActivityDto);
}
